Plug and play (PnP) systems are used in virtually all personal computers and numerous computer-controlled machines as well. PnP systems, which are also known as hot-swapping systems, allow connections and disconnections of peripheral devices to a host system without manual installation of device drivers or a reboot of the host system.
A principle feature of a PnP system is its ability to automatically reconfigure a communication bus after the connection or disconnection of a peripheral device (“peripheral”). When a communication bus of the PnP system observes a change in the peripheral layout, the bus initiates a reset. A connect or disconnect of a peripheral is recognized by sensing the power to the peripheral or by a special circuit on the peripheral's connector. The reconfiguration process recognizes and reacquires all of the peripherals connected to the bus to ensure that each peripheral is properly loaded in the host system and is given access to the communication bus. The reconfiguration process must reconfigure all of the peripherals connected to the bus even if only one peripheral is connected or disconnected, in order to ensure that no peripherals are in conflict. The reconfiguration process recognizes any newly connected peripheral, and automatically retrieves and loads the drivers for that peripheral. Conversely, if a peripheral is disconnected, the reconfiguration process disables the peripheral's drivers within the system, and assigns that peripheral's time slot to another device. Some examples of commonly known PnP systems include Universal Serial Bus (USB), FireWire (IEEE 1394 protocol), and Peripheral Component Interconnect (PCI).
Existing communication buses typically include interfaces that allow devices to interact with the communication bus by converting the devices' complex commands and data into bit level data that can be transmitted over the bus. Many such interfaces are operated in accordance with protocols that are divided into layers. The layered design divides the functions of the protocol involved into a series of logical layers. Each layer requests services from the layer below and performs services for the layer above. Layering a protocol makes it easier to design and use. For example, the IEEE 1394 protocol is divided into a physical layer, a link layer, and a transaction layer.
The highest layer of the IEEE 1394 protocol is the transaction layer, which is responsible for reading, writing, and conveying other high level commands to and from each communicating device. The middle layer is the link layer, which handles data at a packet level. The lowest layer is the physical layer, which is responsible for actually transmitting and receiving data over the bus (including arbitration with the bus). Beyond the physical layer, the data is conveyed on the bus and is handled by another device. Consequently, the physical layer may be viewed as a junction between a peripheral and the other devices. Thus, the hardware connectors of a peripheral are located at the junction of the physical layer and the communication bus.
In existing PnP systems, such as for example, the PnP systems used in spacecraft, the communication bus is often configured so that the peripherals are daisy-chained together. This technique places each peripheral one behind the other along a communication stream. Consequently, a message that is transmitted to one peripheral must be passed on by, or allowed to be passed through, that peripheral to the next peripheral in the chain. For example, in order for a message to be passed from a host to the fifth peripheral in a chain, the first four peripherals in the chain must forward the message before it can arrive at the fifth peripheral. Consequently, since any peripheral in the chain depends upon the viability of the peripherals upstream, if one peripheral is incapable of forwarding data, then all of the peripherals downstream from that peripheral will lose communication with the host. Thus, a significant problem with the existing systems is that if a peripheral is disconnected from the communication bus, the bus has to be reconfigured in order to remove the disconnected peripheral from the chain.
In the above-described, related U.S. patent application Ser. No. 11/608,905 (“the '905 application”), a novel method and apparatus is disclosed that solves the above-described problem, by allowing disconnection of a peripheral from a communication bus without causing disruption to other peripherals on the bus. This non-disruptive disconnection is accomplished by physically disconnecting the peripheral from the communication bus without causing a reconfiguration of the bus. More precisely, the non-disruptive disconnection is accomplished by placing the physical connector for the peripheral between the interfaces for the physical layer and link layer of the protocol involved. Before a peripheral is disconnected, the link layer is disabled. However, the physical layer remains enabled while the peripheral is being disconnected, because the arrangement of the peripheral's connector at the interface between the physical layer and the link layer enables the peripheral to be removed without removing the physical layer. Thus, based on the novel techniques disclosed in the '905 application, the communication bus does not have to be reconfigured after a peripheral is disconnected, because the bus can still communicate with all of the same physical layers it communicated with before the peripheral was disconnected.
Notwithstanding the numerous advantages of the novel techniques disclosed in the '905 application, there is no technique that currently exists that can provide suitable connectivity for those networks that are configured to implement the techniques disclosed in the '905 application. For example, with the implementation of new high speed interfaces such as those included in the IEEE 1394 or 1394(a)(b) protocols targeted for space and military applications, such requirements as performance, power, weight and size have to justify the choice. Considering the example of the IEEE 1394 protocol, existing network configuration topologies can provide reduced power, weight and size but with continued susceptibility to broken links, or they can provide robust connectivity for broken links at the expense of reduced power, weight and size. Thus, in order to take full advantage of the novel configurations disclosed in the '905 application, suitable network connectivity (e.g., cabling, etc.) has to be provided. In other words, there are no suitable active cables or cable assemblies for networks that can be implemented using the separated physical layer and link layer interfaces disclosed in the '905 application. Consequently, the existing networks are unable to capitalize on all of the potential advantages and benefits of the novel techniques disclosed in the '905 application.
For example, FIG. 1 depicts a block diagram of an example IEEE 1394b network 100, which is arranged in a semi-robust configuration including separated physical layer and link layer interfaces as disclosed in the '905 application. Note that in this illustrative example, no peripheral devices are shown. As such, network 100 includes a first link layer segment 102, a first physical layer segment 104, and a standard connection between these two logical segments. Also included is a second physical layer segment 108, a second link layer segment 112, and a robust connector 110 (e.g., separated at the physical layer and link layer interfaces) between these two logical segments. Network 100 also includes a third physical layer segment 116, a third link layer segment 120, and a robust connector 118 (e.g., separated at the physical layer and link layer interfaces) between these two logical segments. However, note that in the example network configuration shown in FIG. 1, three physical interconnecting cables 106, 114 and 122 are being used. Notably, the number of different physical connections in the existing network configurations is proportional to the number of physical interconnecting cables being used. As illustrated by the configuration shown in FIG. 1, the existing networks require physical layer to physical layer cabling in addition to physical layer to link layer connectivity. Consequently, the conventional cables or cable assemblies being used in the existing robust and semi-robust applications are not designed to minimize the number of physical connections used. Therefore, a pressing need exists for new techniques that can provide suitable connectivity (e.g., active cabling and/or cabling assemblies that can minimize the number of physical connections required) in those networks capable of non-disruptively disconnecting peripheral devices, such as for example, networks capable of implementing the non-disruptive disconnection techniques disclosed in the '905 application. Also, a need exists for new techniques that can provide suitable connectivity for the physical layer in the new robust applications, because the physical layer will no longer reside in the remote devices but rather as part of the physical connectivity or cabling in the robust designs.